Snowflake原理
什么是雪花算法Snowflake?
twitter用scala语言编写的高效生成唯一ID的算法
优点
生成的ID不重复
算法性能高
基于时间戳,基本保证有序递增
bit与byte
bit(位)
电脑中存储的最小单位,可以存储二进制中的0或1
byte(字节)
一个byte由8个bit组成
java数据类型存储字节大小
int:4 个字节
short:2 个字节
long:8 个字节
byte:1 个字节
float:4 个字节
double:8 个字节
char:2 个字节
16位平台 int 2个字节16位
32位平台 int 4个字节32位
64位平台 int 4个字节32位
雪花算法
生成的数字,long类,所以就是8个byte,64bit
表示的值 -9223372036854775808(-2的63次方) ~ 9223372036854775807(2的63次方-1)
生成的唯一值用于数据库主键,不能是负数,所以值为0~9223372036854775807(2的63次方-1)